package com.bw.edu.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.bw.edu.service.OrderInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
public class OrderInfoController {

    @Autowired
    OrderInfoService orderInfoService;


    // 各章节播放统计
    @RequestMapping("getListByChapter")
    public List<Map> getListByChapter(){
        List<Map> list=orderInfoService.getListByChapter();

        return list;
    }

    // 1.2各试卷成绩分布
/*    @RequestMapping("getListByScore")
    public JSONObject getListByScore(){
        Map map=orderInfoService.getListByScore();
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        // 第二层 json[ ]
        JSONArray data=new JSONArray();

        JSONObject jsonObject1=new JSONObject();
        jsonObject1.put("name","score0_60");
        jsonObject1.put("value",map.get("score0_60"));
        data.add(jsonObject1);

        JSONObject jsonObject2=new JSONObject();
        jsonObject2.put("name","score60_80");
        jsonObject2.put("value",map.get("score60_80"));
        data.add(jsonObject2);

        JSONObject jsonObject3=new JSONObject();
        jsonObject3.put("name","score80_90");
        jsonObject3.put("value",map.get("score80_90"));
        data.add(jsonObject3);

        JSONObject jsonObject4=new JSONObject();
        jsonObject4.put("name","score90_95");
        jsonObject4.put("value",map.get("score90_95"));
        data.add(jsonObject4);

        JSONObject jsonObject5=new JSONObject();
        jsonObject5.put("name","score95_100");
        jsonObject5.put("value",map.get("score95_100"));
        data.add(jsonObject5);

        jsonObject.put("data",data);
        return jsonObject;
    }*/
    // 1.2各试卷成绩分布
    @RequestMapping("getListByScore2")
    public JSONObject getListByScore2(){
        List<Map> list=orderInfoService.getListByScore2();
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        // 第二层 json[ ]
        JSONArray data=new JSONArray();
        for (Map map : list) {
            JSONObject jsonObject1=new JSONObject();
            jsonObject1.put("name",map.get("score"));
            jsonObject1.put("value",map.get("num"));
            data.add(jsonObject1);

        }
        jsonObject.put("data",data);
        return jsonObject;
    }

    //1.3各省份交易统计
    @RequestMapping("getListByProvince")
    public JSONObject getListByProvince(){
        List<Map> list=orderInfoService.getListByProvince();
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        // 第二层  json{} 对象
        JSONObject data=new JSONObject();
        // 第三层  json数组[ ]
        JSONArray mapData=new JSONArray();
        // 第4层 装载数据   json对象{}
        for (Map map : list) {
            JSONObject jsonObject1=new JSONObject();
            jsonObject1.put("name",map.get("name"));
            jsonObject1.put("value",map.get("order_amount"));
            mapData.add(jsonObject1);
        }
        data.put("mapData",mapData);
        data.put("valueName","订单金额");

        jsonObject.put("data",data);
        return jsonObject;
    }

    //1.4交易综合统计  --如果sql语句查询的值 只有单行单列  返回值 使用单独的类型返回
    @RequestMapping("getOrderAmount")
    public JSONObject getOrderAmount(){
        Map map=orderInfoService.getOrderAmount();
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        jsonObject.put("data",map.get("order_amount"));
        return jsonObject;
    }
}
